A bus is a shared communications path comprising a number of conductors connected to a number of devices, chips or circuits for example chips on an integrated circuit board. By using a contention protocol, a sub-set of the circuits can use the bus for their own communications purposes for a period of time. A bus therefore reduces the number of conductors needed to provide communications between a number of inter-connected circuits which is highly valued in IC and other small scale technologies, resulting in reduced size and cost. However the need for sharing the bus can preclude certain modes of communication and hence limit the range of possible system functionality.
Audio convergence devices are increasingly popular, and generally allow the execution of different types of audio applications, often simultaneously, on the same device. An example of an audio convergence device is a Smartphone, which provides both telephony-based audio applications such as voice calls and device-centric audio applications such as MP3 music playback. The Smartphone can be thought of as a combination of a mobile or cellular telephone and a PDA or palmtop computer. Other examples of audio convergence devices include laptop computers with telephony capability; or indeed any wireless telephony device for example a mobile phone also having device centric audio applications such as MP3 playback.
The audio processing required of the two types of audio signals is very different, for example with telephony applications such as a duplex phone call, real-time signal processing is required and the application is very sensitive to latency. However the fidelity of the sound or voice audio data is relatively low, typically a single or mono 8 kHz channel. On the other hand, whilst playing back stored music such as MP3 tracks does not require the same level of real-time processing ability, the quality of the audio data is often much higher, for example two or stereo channels of 44.1 or 48 kHz per channel.
These different requirements have been handled by largely separating the two processing chains and utilising separate processors for each task, a specialised (communications) DSP core or chip for the telephony and a general purpose (applications) CPU for the device centric audio applications. Both are complex systems in their own right, and operate with largely different interfaces and protocols, so are designed largely independently, even if integrated on a common substrate. This division of hardware and processing is described in more detail in “Implementing Hi-Fi Cellular Convergence Devices Using Intel Xscale Technology”, Scott Paden, Dudy Sinai, WINHEC 2004.
A problem with this approach however is that because of cost, size and power constraints, the two sides (communications and applications) of the device must share the audio transducer resources, for example external speaker and headphones. The above reference considers the Intel PCA chip architecture for mobile devices and analyses the pros and cons of using two codecs, each dedicated to a respective processor (communications processor or applications processor), or a single codec associated with one or other of the processors but controlled by it to provide audio transducer services for both processors. A further option is to use a “dual” codec which provides codec functionality for both processors. An example of a dual audio codec chip or IC is the Wolfson Microelectronics WM9713.
Whether the audio codec requirement is implemented as separate circuits or integrated together, the separate processors need to communicate with each other and with the codec or codecs. However this makes further demands on the shared audio data bus which can further limit system functionality.